
"Payload URL"은 보통 웹후크(webhook)나 API에서 이벤트나 데이터를 전송할 대상 주소를 가리키는 URL을 말합니다. 구체적으로는 어떤 시스템이 발생한 이벤트(예: 결제 완료, 깃푸시, 폼 제출 등)에 대한 페이로드(payload, 전송될 데이터)를 HTTP 요청으로 전달할 때 요청을 보낼 엔드포인트 URL입니다. 주요 내용: - 구성요소: 일반적으로 HTTPS 프로토콜을 사용한 완전한 URL(예: https://example.com/webhook-endpoint). 보안상 HTTP 대신 HTTPS 권장. - 동작 방식: 발신 시스템이 이벤트 발생 시 POST(또는 가끔 PUT/GET) 요청으로 지정된 Payload URL에 JSON, form-encoded 등으로 데이터를 전송함. 이 데이터가 "페이로드"라고 불림. - 요청 형태: 보통 HTTP 헤더(Content-Type 등)와 본문(body)에 페이로드가 담김. 예: Content-Type: application/json, body에 JSON 객체. - 보안/검증: 수신 서버는 요청 출처 검증(시그니처, HMAC, 비밀 토큰, IP 화이트리스트 등)을 통해 신뢰성을 확인해야 함. 인증이 없으면 악의적 호출에 노출될 수 있음. - 신뢰성 고려사항: idempotency(중복 처리 방지), 재시도 정책(발신자가 실패 시 재전송), 응답 코드(2xx 성공, 4xx/5xx 오류)에 따른 처리, 타임아웃 및 페이로드 크기 제한. - 실무 팁: 안전한 URL(HTTPS), 비공개 엔드포인트 경로, 서명 검증, 로그와 모니터링, 속도 제한 및 에러 대응을 설계. 사용 예시(일반적 흐름): 1. 서비스 A에서 설정 화면에 Payload URL을 등록. 2. 서비스 A가 이벤트 발생 시 해당 URL로 HTTP POST(페이로드 포함)를 전송. 3. 서비스 B(등록된 URL의 서버)가 요청을 받고 시그니처 검사 후 내부 처리(예: DB 업데이트, 작업 큐 삽입). 4. 서비스 B가 200 OK 등을 반환하면 전송 완료로 간주, 실패 시 서비스 A가 재시도할 수 있음. 일반적으로 GitHub, Stripe, Slack 등 많은 서비스에서 웹후크 설정 시 "Payload URL"이라는 용어를 사용하며, 이 URL이 이벤트 알림의 수신 지점 역할을 합니다.